<!DOCTYPE html><html><head>
      <title>图表策略</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      
      <link rel="stylesheet" href="../yangshi.css">
      
      
      
      
      
      <style>
      code[class*=language-],pre[class*=language-]{color:#333;background:0 0;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.4;-moz-tab-size:8;-o-tab-size:8;tab-size:8;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:.8em;overflow:auto;border-radius:3px;background:#f5f5f5}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal;background:#f5f5f5}.token.blockquote,.token.comment{color:#969896}.token.cdata{color:#183691}.token.doctype,.token.macro.property,.token.punctuation,.token.variable{color:#333}.token.builtin,.token.important,.token.keyword,.token.operator,.token.rule{color:#a71d5d}.token.attr-value,.token.regex,.token.string,.token.url{color:#183691}.token.atrule,.token.boolean,.token.code,.token.command,.token.constant,.token.entity,.token.number,.token.property,.token.symbol{color:#0086b3}.token.prolog,.token.selector,.token.tag{color:#63a35c}.token.attr-name,.token.class,.token.class-name,.token.function,.token.id,.token.namespace,.token.pseudo-class,.token.pseudo-element,.token.url-reference .token.variable{color:#795da3}.token.entity{cursor:help}.token.title,.token.title .token.punctuation{font-weight:700;color:#1d3e81}.token.list{color:#ed6a43}.token.inserted{background-color:#eaffea;color:#55a532}.token.deleted{background-color:#ffecec;color:#bd2c00}.token.bold{font-weight:700}.token.italic{font-style:italic}.language-json .token.property{color:#183691}.language-markup .token.tag .token.punctuation{color:#333}.language-css .token.function,code.language-css{color:#0086b3}.language-yaml .token.atrule{color:#63a35c}code.language-yaml{color:#183691}.language-ruby .token.function{color:#333}.language-markdown .token.url{color:#795da3}.language-makefile .token.symbol{color:#795da3}.language-makefile .token.variable{color:#183691}.language-makefile .token.builtin{color:#0086b3}.language-bash .token.keyword{color:#0086b3}pre[data-line]{position:relative;padding:1em 0 1em 3em}pre[data-line] .line-highlight-wrapper{position:absolute;top:0;left:0;background-color:transparent;display:block;width:100%}pre[data-line] .line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}pre[data-line] .line-highlight:before,pre[data-line] .line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}pre[data-line] .line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}html body{font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ol,html body>ul{margin-bottom:16px}html body ol,html body ul{padding-left:2em}html body ol.no-list,html body ul.no-list{padding:0;list-style-type:none}html body ol ol,html body ol ul,html body ul ol,html body ul ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;background-color:#f0f0f0;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:700;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::after,html body code::before{letter-spacing:-.2em;content:'\00a0'}html body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:after,html body pre code:before,html body pre tt:after,html body pre tt:before{content:normal}html body blockquote,html body dl,html body ol,html body p,html body pre,html body ul{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body code,html body pre{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview ul{list-style:disc}.markdown-preview ul ul{list-style:circle}.markdown-preview ul ul ul{list-style:square}.markdown-preview ol{list-style:decimal}.markdown-preview ol ol,.markdown-preview ul ol{list-style-type:lower-roman}.markdown-preview ol ol ol,.markdown-preview ol ul ol,.markdown-preview ul ol ol,.markdown-preview ul ul ol{list-style-type:lower-alpha}.markdown-preview .newpage,.markdown-preview .pagebreak{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center!important}.markdown-preview:not([data-for=preview]) .code-chunk .code-chunk-btn-group{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .status{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .output-div{margin-bottom:16px}.markdown-preview .md-toc{padding:0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link div,.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}.markdown-preview .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0;min-height:100vh}@media screen and (min-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{font-size:14px!important;padding:1em}}@media print{html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc{padding:0 16px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link div,html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% - 300px);padding:2em calc(50% - 457px - 300px / 2);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
/* Please visit the URL below for more information: */
/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */

      </style>
      <!-- The content below will be included at the end of the <head> element. --><script type="text/javascript">
  document.addEventListener("DOMContentLoaded", function () {
    // your code here
  });
</script></head><body for="html-export">
    
    
      <div class="crossnote markdown-preview  ">
      
<p><span style="font-size: 32px; font-weight: bold;">目录</span></p>
<div class="code-chunk" data-id="code-chunk-id-0" data-cmd="toc"><div class="input-div"><div class="code-chunk-btn-group"><div class="run-btn btn btn-xs btn-primary"><span>▶︎</span></div><div class="run-all-btn btn btn-xs btn-primary">all</div></div><div class="status">running...</div></div><div class="output-div"></div></div><ul>
<li><a href="#1-%E7%AD%96%E7%95%A5%E7%BC%96%E5%86%99">1、策略编写</a>
<ul>
<li><a href="#11-%E4%B8%89%E5%9D%87%E7%BA%BF%E7%AD%96%E7%95%A5">1.1、三均线策略</a></li>
<li><a href="#12-%E5%8D%95%E5%9D%87%E7%BA%BF%E7%AD%96%E7%95%A5">1.2、单均线策略</a></li>
<li><a href="#13-%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E7%AD%96%E7%95%A5">1.3、唐琪安通道策略</a></li>
<li><a href="#14-%E5%A4%9A%E7%A9%BA%E7%BA%BF%E5%8A%A0atr%E9%80%9A%E9%81%93%E5%87%BA%E5%9C%BA%E7%AD%96%E7%95%A5">1.4、多空线加atr通道出场策略</a></li>
<li><a href="#15-%E7%BA%A2%E4%B8%89%E5%85%B5%E7%AD%96%E7%95%A5">1.5、红三兵策略</a></li>
<li><a href="#16-macd%E7%AD%96%E7%95%A5">1.6、macd策略</a></li>
<li><a href="#17-%E5%AE%9A%E6%97%B6%E6%B8%85%E4%BB%93%E7%AD%96%E7%95%A5">1.7、定时清仓策略</a></li>
<li><a href="#18-%E5%8F%8C%E9%80%9A%E9%81%93%E7%AA%81%E7%A0%B4%E5%9B%9E%E8%B0%83%E5%8A%A0%E4%BB%93%E7%AD%96%E7%95%A5">1.8、双通道突破回调加仓策略</a></li>
<li><a href="#19-%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E5%8A%A0%E8%B7%A8%E5%91%A8%E6%9C%9F%E5%9D%87%E7%BA%BF%E8%BF%87%E6%BB%A4%E7%AD%96%E7%95%A5">1.9、唐琪安通道加跨周期均线过滤策略</a></li>
<li><a href="#110-%E7%AD%96%E7%95%A5%E6%94%B9%E8%BF%9B%E5%AE%9E%E4%BE%8Bv1">1.10、策略改进实例v1</a></li>
</ul>
</li>
<li><a href="#2-%E4%B8%8A%E9%9D%A2%E9%83%A8%E5%88%86%E7%AD%96%E7%95%A5%E5%9B%9E%E6%B5%8B">2、上面部分策略回测</a>
<ul>
<li><a href="#21-%E4%B8%89%E5%9D%87%E7%BA%BF%E7%AD%96%E7%95%A5">2.1、三均线策略</a></li>
<li><a href="#22-%E5%8D%95%E5%9D%87%E7%BA%BF%E7%AD%96%E7%95%A5">2.2、单均线策略</a></li>
<li><a href="#23-%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E7%AD%96%E7%95%A5">2.3、唐琪安通道策略</a></li>
<li><a href="#24-%E5%A4%9A%E7%A9%BA%E7%BA%BF%E5%8A%A0atr%E9%80%9A%E9%81%93%E5%87%BA%E5%9C%BA%E7%AD%96%E7%95%A5">2.4、多空线加atr通道出场策略</a></li>
<li><a href="#25-%E7%BA%A2%E4%B8%89%E5%85%B5%E7%AD%96%E7%95%A5%E6%8C%87%E6%95%B0%E7%A0%96%E5%BD%A2%E5%9B%BE%E6%A8%A1%E5%BC%8F%E5%9B%9E%E6%B5%8B">2.5、红三兵策略（指数砖形图模式回测）</a></li>
<li><a href="#26-macd%E7%AD%96%E7%95%A5">2.6、macd策略</a></li>
<li><a href="#27-%E5%8F%8C%E9%80%9A%E9%81%93%E7%AA%81%E7%A0%B4%E5%9B%9E%E8%B0%83%E5%8A%A0%E4%BB%93%E7%AD%96%E7%95%A5">2.7、双通道突破回调加仓策略</a></li>
<li><a href="#28-%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E5%8A%A0%E8%B7%A8%E5%91%A8%E6%9C%9F%E5%9D%87%E7%BA%BF%E8%BF%87%E6%BB%A4%E7%AD%96%E7%95%A5">2.8、唐琪安通道加跨周期均线过滤策略</a></li>
</ul>
</li>
</ul>
<hr>
<p><a href="https://pan.baidu.com/s/1s_oyXcpHeohkqCHOTKl7Ww?pwd=7fhq" target="_blank" style="font-size:16px;color:red;">所有期货分钟级别以上 数据下载</a></p>
<p><a href="https://www.bilibili.com/video/BV1dG41117Ah/" target="_blank" style="font-size:16px;">策略改进实例v1(亏钱改为赚钱) 视频教程</a></p>
<hr>
<h3 id="1-策略编写">1、策略编写 </h3>
<h4 id="11-三均线策略">1.1、三均线策略 </h4>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z

<span class="token keyword keyword-def">def</span> 三均线策略_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    此策略为三均线演示策略
    :param cl策略类
    :param cl.klines: k线数据，为df表，0层数据用klines[0]表示
    :param cl.openingdata: 交易数据，为字典，里面有持仓状态，理论持仓数量，开仓价格，开仓时间等
    :param cl.zhanghu: 账户列表
    :param cl.jiaoyishezhi: 为交易设置数据，算法交易，交易合约，其他功能参数都在里面
    :param cl.jiaoyiqidong: 是否启动了交易，为TRUS表示启动
    :return: 输出要在软件上显示的指标
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    High <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>high<span class="token punctuation">.</span>values   <span class="token comment"># 最高价np列表</span>
    Low <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>low<span class="token punctuation">.</span>values  <span class="token comment"># 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>
    riqi <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_riqi<span class="token punctuation">(</span><span class="token punctuation">)</span>
    shijian <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_shijian<span class="token punctuation">(</span><span class="token punctuation">)</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># ma1周期</span>
    n2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>  <span class="token comment"># ma2周期</span>
    n3 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span>  <span class="token comment"># ma3周期</span>
    <span class="token comment"># 指标计算区</span>
    ma1 <span class="token operator">=</span> ema_z<span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">300</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">,</span> n1<span class="token punctuation">)</span>
    ma2 <span class="token operator">=</span> ema_z<span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">300</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">,</span> n2<span class="token punctuation">)</span>
    ma3 <span class="token operator">=</span> ema_z<span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">300</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">,</span> n3<span class="token punctuation">)</span>
    <span class="token comment"># # 用ma</span>
    <span class="token comment"># ma1 = ma_z(Close[-300:], n1)</span>
    <span class="token comment"># ma2 = ma_z(Close[-300:], n2)</span>
    <span class="token comment"># ma3 = ema_z(Close[-300:], n2)</span>

    <span class="token comment"># 交易逻辑执行区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> ma3<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
        Buy<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> ma3<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
            SellShort<span class="token punctuation">(</span>ss<span class="token punctuation">,</span>  Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>

    <span class="token keyword keyword-return">return</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span> ma3<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string">'w'</span>  <span class="token comment"># 此处输出的指标会在k线图中和监控界面中显示</span>

</code></pre><hr>
<h4 id="12-单均线策略">1.2、单均线策略 </h4>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z

<span class="token keyword keyword-def">def</span> 单均线策略_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    此策略为单均线策略
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>

    <span class="token comment"># 参数设置区</span>
    开仓手数 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量</span>
    均线周期 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># ma1周期</span>
    <span class="token comment"># 指标计算区</span>
    ma1 <span class="token operator">=</span> ema_z<span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">300</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">,</span> 均线周期<span class="token punctuation">)</span>
    <span class="token comment"># 交易逻辑执行区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># 开盘价和收盘价都要大于均线</span>
        Buy<span class="token punctuation">(</span>开仓手数<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>  <span class="token comment"># 平空开多</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># 开盘价和收盘价都要小于均线</span>
            SellShort<span class="token punctuation">(</span>开仓手数<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>  <span class="token comment"># 平多开空</span>

    <span class="token keyword keyword-return">return</span> <span class="token builtin">round</span><span class="token punctuation">(</span>ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">,</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangjia'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string">'w'</span>  <span class="token comment"># 此处输出的指标会在k线图中和监控界面中显示</span>

</code></pre><hr>
<h4 id="13-唐琪安通道策略">1.3、唐琪安通道策略 </h4>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z

<span class="token keyword keyword-def">def</span> 唐琪安通道_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    此策略为唐琪安通道突破演示策略
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    High <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>high<span class="token punctuation">.</span>values   <span class="token comment"># 最高价np列表</span>
    Low <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>low<span class="token punctuation">.</span>values  <span class="token comment"># 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">+</span><span class="token number">1</span>  <span class="token comment"># 高点周期</span>
    n2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token operator">+</span><span class="token number">1</span>  <span class="token comment"># 低点周期</span>
    <span class="token comment"># print(ss,n1,n2)</span>
    <span class="token comment"># 指标计算区</span>
    gd <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span>High<span class="token punctuation">[</span><span class="token operator">-</span>n1<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
    dd <span class="token operator">=</span> <span class="token builtin">min</span><span class="token punctuation">(</span>Low<span class="token punctuation">[</span><span class="token operator">-</span>n2<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>

    <span class="token comment"># 交易逻辑执行区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> High<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> gd<span class="token punctuation">:</span>
        Buy<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> <span class="token builtin">max</span><span class="token punctuation">(</span>Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> gd<span class="token punctuation">)</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Low<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> dd<span class="token punctuation">:</span>
            SellShort<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> <span class="token builtin">min</span><span class="token punctuation">(</span>Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> dd<span class="token punctuation">)</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>

    <span class="token keyword keyword-return">return</span> gd<span class="token punctuation">,</span> dd<span class="token punctuation">,</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangjia'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string">'w'</span>

</code></pre><hr>
<h4 id="14-多空线加atr通道出场策略">1.4、多空线加atr通道出场策略 </h4>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z


<span class="token keyword keyword-def">def</span> 多空线策略加atr通道出场_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    多空线策略
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    High <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>high<span class="token punctuation">.</span>values   <span class="token comment"># 最高价np列表</span>
    Low <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>low<span class="token punctuation">.</span>values  <span class="token comment"># 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>
    riqi <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_shijian<span class="token punctuation">(</span><span class="token punctuation">)</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量</span>
    慢线周期 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>
    牛熊线周期 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>
    慢线周期 <span class="token operator">=</span> <span class="token number">10</span>
    <span class="token comment"># 指标计算区</span>
    <span class="token comment"># DKX计算</span>
    MIB <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token number">2</span> <span class="token operator">*</span> Close <span class="token operator">+</span> Low <span class="token operator">+</span> Open <span class="token operator">+</span> High<span class="token punctuation">)</span> <span class="token operator">/</span> <span class="token number">5</span>
    MIB <span class="token operator">=</span> MIB<span class="token punctuation">[</span><span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span>
    XD <span class="token operator">=</span> np<span class="token punctuation">.</span>zeros<span class="token punctuation">(</span><span class="token number">23</span><span class="token punctuation">)</span>
    j <span class="token operator">=</span> <span class="token number">20</span>
    kk <span class="token operator">=</span> <span class="token number">1</span>
    <span class="token keyword keyword-for">for</span> k <span class="token keyword keyword-in">in</span> <span class="token builtin">range</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">20</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
        lsbl <span class="token operator">=</span> j <span class="token operator">*</span> MIB<span class="token punctuation">[</span><span class="token punctuation">:</span><span class="token operator">-</span>kk<span class="token punctuation">]</span>
        XD <span class="token operator">=</span> XD <span class="token operator">+</span> lsbl<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">23</span><span class="token punctuation">:</span><span class="token punctuation">]</span>
        j <span class="token operator">=</span> j <span class="token operator">-</span> <span class="token number">1</span>
        kk <span class="token operator">=</span> kk <span class="token operator">+</span> <span class="token number">1</span>

    dkx <span class="token operator">=</span> XD <span class="token operator">/</span> <span class="token number">210</span>
    慢线 <span class="token operator">=</span> ma_z<span class="token punctuation">(</span>dkx<span class="token punctuation">,</span> 慢线周期<span class="token punctuation">)</span>
    牛熊线 <span class="token operator">=</span> ma_z<span class="token punctuation">(</span>Close<span class="token punctuation">,</span> 牛熊线周期<span class="token punctuation">)</span>
    <span class="token comment"># 交易逻辑执行区</span>
    <span class="token comment"># 开仓</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> dkx<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> 慢线<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> dkx<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> 慢线<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token operator">&gt;</span>牛熊线<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
        Buy<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> <span class="token number">0</span>  <span class="token keyword keyword-and">and</span> dkx<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> 慢线<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> dkx<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> 慢线<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token operator">&lt;</span>牛熊线<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
            SellShort<span class="token punctuation">(</span>ss<span class="token punctuation">,</span>  Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>

    <span class="token comment"># atr通道平仓</span>
    atr <span class="token operator">=</span> atr_z<span class="token punctuation">(</span>High<span class="token punctuation">,</span> Low<span class="token punctuation">,</span> Open<span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">)</span>
    atr上轨 <span class="token operator">=</span> High<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">+</span> atr<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span>
    atr下轨 <span class="token operator">=</span> Low<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">-</span> atr<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> atr下轨<span class="token punctuation">:</span>  <span class="token comment"># 平多</span>
        Sell<span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> <span class="token number">0</span>  <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> atr上轨<span class="token punctuation">:</span>  <span class="token comment"># 平空</span>
            BuyToCover<span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span>  Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>

    <span class="token keyword keyword-return">return</span> dkx<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span> 慢线<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span> atr上轨<span class="token punctuation">,</span> atr下轨

</code></pre><hr>
<h4 id="15-红三兵策略">1.5、红三兵策略 </h4>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z

<span class="token keyword keyword-def">def</span> 红三兵策略_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    连续n根阳线开多，n根阴线开空
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    High <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>high<span class="token punctuation">.</span>values   <span class="token comment"># 最高价np列表</span>
    Low <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>low<span class="token punctuation">.</span>values  <span class="token comment"># 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>
    riqi <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_riqi<span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span>
    shijian <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_shijian<span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># 周期</span>
    <span class="token comment"># 指标计算</span>
    n <span class="token operator">=</span> n1<span class="token operator">+</span><span class="token number">1</span>
    dd <span class="token operator">=</span> np<span class="token punctuation">.</span><span class="token builtin">sum</span><span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span>n<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> Open<span class="token punctuation">[</span><span class="token operator">-</span>n<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>  <span class="token comment"># 判断阳线数量</span>
    xx <span class="token operator">=</span> np<span class="token punctuation">.</span><span class="token builtin">sum</span><span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span>n<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> Open<span class="token punctuation">[</span><span class="token operator">-</span>n<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>  <span class="token comment"># 判断阴线数量</span>
    <span class="token comment"># 交易逻辑执行区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> dd <span class="token operator">&gt;=</span> n1<span class="token punctuation">:</span>
        Buy<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>  <span class="token comment"># 平空开多</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> xx <span class="token operator">&gt;=</span> n1<span class="token punctuation">:</span>
            SellShort<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>  <span class="token comment"># 平多开空</span>

    <span class="token keyword keyword-return">return</span> dd<span class="token punctuation">,</span> xx<span class="token punctuation">,</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangjia'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string">'w'</span>   <span class="token comment"># 此处输出的指标会在k线图中和监控界面中显示</span>

</code></pre><hr>
<h4 id="16-macd策略">1.6、macd策略 </h4>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z

<span class="token keyword keyword-def">def</span> macd策略_diff<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    macd，diff策略，diff大于0平空开多，diff小于0平多开空。
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>

    <span class="token comment"># 参数设置区</span>
    手数 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量</span>
    macdzq <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># macd短周期</span>
    macdzq2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>  <span class="token comment"># macd长周期</span>

    <span class="token comment"># 指标计算区</span>
    <span class="token comment"># if cl.shangcishijian != Datetime[-1]:  # 更新k线时执行，一般用与计算指标</span>
    diff <span class="token operator">=</span> ema_z<span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">300</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">,</span> macdzq<span class="token punctuation">)</span> <span class="token operator">-</span> ema_z<span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">300</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">,</span> macdzq2<span class="token punctuation">)</span>
    kctj_diff <span class="token operator">=</span> <span class="token builtin">round</span><span class="token punctuation">(</span>diff<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">)</span>
    <span class="token comment"># 交易逻辑执行区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> kctj_diff <span class="token operator">&gt;</span> <span class="token number">0</span><span class="token punctuation">:</span>
        Buy<span class="token punctuation">(</span>手数<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> kctj_diff <span class="token operator">&lt;</span> <span class="token number">0</span><span class="token punctuation">:</span>
            SellShort<span class="token punctuation">(</span>手数<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>

    <span class="token keyword keyword-return">return</span> <span class="token string">'w'</span><span class="token punctuation">,</span> kctj_diff<span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">,</span> <span class="token string">'w'</span>

</code></pre><hr>
<h4 id="17-定时清仓策略">1.7、定时清仓策略 </h4>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z

<span class="token keyword keyword-def">def</span> 定时清仓策略_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
     定时清仓程序
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    Datetime <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>values  <span class="token comment"># 日期时间np列表，为时间戳</span>
    shijian <span class="token operator">=</span> <span class="token builtin">int</span><span class="token punctuation">(</span>time_to_datetime<span class="token punctuation">(</span>Datetime<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">.</span>time<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>strftime<span class="token punctuation">(</span><span class="token string">"%H%M%S"</span><span class="token punctuation">)</span><span class="token punctuation">)</span>  <span class="token comment"># 当前时间</span>
    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 每次开仓数量，0为停止此策略</span>
    清仓时间 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># 时间格式为145500，用的k线时间</span>
    pcpz <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">:</span><span class="token punctuation">]</span>  <span class="token comment"># 排除不平仓的合约</span>

    <span class="token comment"># zhanghu = cl.zhanghu[cl.jiaoyishezhi[0][0]]  # 开仓账户</span>

    <span class="token comment"># 初始化，初始化策略，和更新时运行一次</span>
    <span class="token keyword keyword-if">if</span> <span class="token string">'cczt'</span> <span class="token keyword keyword-not">not</span> <span class="token keyword keyword-in">in</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">:</span>  <span class="token comment"># 初始化时执行一次，用于初始化缓存字典</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'cczt'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>  <span class="token comment"># 持仓状态记录</span>

    <span class="token comment"># 指标计算区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>shangcishijian <span class="token operator">!=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'datetime'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># 更新k线时执行，一般用与计算指标</span>
        <span class="token keyword keyword-if">if</span> shijian <span class="token operator">==</span> <span class="token number">210000</span><span class="token punctuation">:</span>
            cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'cczt'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>

        <span class="token keyword keyword-if">if</span> shijian <span class="token operator">==</span> 清仓时间 <span class="token keyword keyword-and">and</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'cczt'</span><span class="token punctuation">]</span> <span class="token operator">==</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> cl<span class="token punctuation">.</span>jiaoyiqidong<span class="token punctuation">:</span>
            cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'cczt'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">1</span>
            cc <span class="token operator">=</span> cl<span class="token punctuation">.</span>zhanghu<span class="token punctuation">[</span>cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">.</span>df_cc
            <span class="token keyword keyword-for">for</span> i <span class="token keyword keyword-in">in</span> <span class="token builtin">range</span><span class="token punctuation">(</span><span class="token builtin">len</span><span class="token punctuation">(</span>cc<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
                <span class="token keyword keyword-if">if</span> cc<span class="token punctuation">[</span><span class="token string">'InstrumentID'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token keyword keyword-not">not</span> <span class="token keyword keyword-in">in</span> pcpz<span class="token punctuation">:</span>
                    <span class="token keyword keyword-if">if</span> cc<span class="token punctuation">[</span><span class="token string">'Side'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">:</span>
                        cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">=</span> cc<span class="token punctuation">[</span><span class="token string">'InstrumentID'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span>i<span class="token punctuation">]</span>  <span class="token comment"># 交易合约存入交易设置中</span>
                        Sell_gzxd<span class="token punctuation">(</span><span class="token builtin">int</span><span class="token punctuation">(</span>cc<span class="token punctuation">[</span><span class="token string">'Position'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token number">8888</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>  <span class="token comment"># 平多</span>
                        <span class="token keyword keyword-print">print</span><span class="token punctuation">(</span>shijian<span class="token punctuation">,</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token builtin">int</span><span class="token punctuation">(</span>cc<span class="token punctuation">[</span><span class="token string">'Position'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token string">'平多'</span><span class="token punctuation">)</span>
                    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
                        <span class="token keyword keyword-if">if</span> cc<span class="token punctuation">[</span><span class="token string">'Side'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">==</span> <span class="token number">1</span><span class="token punctuation">:</span>
                            cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">=</span> cc<span class="token punctuation">[</span><span class="token string">'InstrumentID'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span>i<span class="token punctuation">]</span>  <span class="token comment"># 交易合约存入交易设置中</span>
                            BuyToCover_gzxd<span class="token punctuation">(</span><span class="token builtin">int</span><span class="token punctuation">(</span>cc<span class="token punctuation">[</span><span class="token string">'Position'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token number">8888</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>  <span class="token comment"># 平多</span>
                            <span class="token keyword keyword-print">print</span><span class="token punctuation">(</span>shijian<span class="token punctuation">,</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token builtin">int</span><span class="token punctuation">(</span>cc<span class="token punctuation">[</span><span class="token string">'Position'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token string">'平空'</span><span class="token punctuation">)</span>

    <span class="token keyword keyword-return">return</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'cczt'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> shijian<span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0</span>

</code></pre><hr>
<h4 id="18-双通道突破回调加仓策略">1.8、双通道突破回调加仓策略 </h4>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z

<span class="token keyword keyword-def">def</span> 双通道突破回调加仓_v1<span class="token punctuation">(</span>cl_sj<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    双通道突破回调加仓策略，双通道为均线百分比包络线和收盘价n周期高低点。
    开仓：突破或跌破双通道。
    加仓：开仓后盈利达到百分之2，价格回调到5日均线，然后又突破高点就加仓1次，一直往复。
    平仓：开仓后的最高价回调百分之n平仓，或者反手。
    """</span>
    <span class="token comment"># 数据初始化，</span>
    Datetime <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>values  <span class="token comment"># 时间转换为np列表</span>
    Open <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values
    high <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>high<span class="token punctuation">.</span>values
    low <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>low<span class="token punctuation">.</span>values
    close <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values
    chicang <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span>
    chicang2 <span class="token operator">=</span> chicang <span class="token operator">*</span> cl_sj<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangshuliang'</span><span class="token punctuation">]</span>
    kaicangjia <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangjia'</span><span class="token punctuation">]</span>
    riqishijian <span class="token operator">=</span> Datetime<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span>
    cl <span class="token operator">=</span> cl_sj  <span class="token comment"># 引用下，下面难得改了</span>

    <span class="token comment"># 参数设置区</span>
    SS <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓手数</span>
    MAZQ <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># 均线周期</span>
    MATDFD <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>  <span class="token comment"># MA通道幅度 %</span>
    GDDZQ <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token operator">+</span><span class="token number">1</span>  <span class="token comment"># 高低点周期</span>
    JCMAZQ <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">4</span><span class="token punctuation">]</span>  <span class="token comment"># 加仓均线周期</span>
    PCFD <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span>  <span class="token comment"># 平仓和保本幅度 %</span>
    YLFD <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">6</span><span class="token punctuation">]</span>  <span class="token comment"># 达到盈利幅度回调加仓</span>

    <span class="token comment"># 全局变量的初始化，为空的时候执行</span>
    <span class="token keyword keyword-if">if</span> <span class="token string">'KCGD'</span> <span class="token keyword keyword-not">not</span> <span class="token keyword keyword-in">in</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">:</span>  <span class="token comment"># 初始化时执行一次，用于初始化缓存字典</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCGD'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span>close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓上轨</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCDD'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span>close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓下轨</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'JCMA'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span>close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">]</span>  <span class="token comment"># 加仓ma</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'ZGYL'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>  <span class="token comment"># 最高盈利</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>  <span class="token comment"># 平仓价格</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>  <span class="token comment"># 回调到均线计数</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>  <span class="token comment"># 盈利达到计数</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DQYL'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>  <span class="token comment"># 当前盈利</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchgd'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓后最高点</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchdd'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">999999</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓后最低点</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>  <span class="token comment"># 开仓后的周期</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchbj'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">1</span>  <span class="token comment"># 开仓后的标记</span>
        <span class="token comment"># cl_sj.sjb['fshkcbz'] = 0  # 反手或开仓标志，用于计算开仓后周期</span>

    <span class="token comment"># 指标计算区</span>
    <span class="token keyword keyword-if">if</span> cl_sj<span class="token punctuation">.</span>shangcishijian <span class="token operator">!=</span> Datetime<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># 更新k线时执行，一般用与计算指标</span>
        MA <span class="token operator">=</span> ma_z<span class="token punctuation">(</span>close<span class="token punctuation">[</span><span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> MAZQ<span class="token punctuation">)</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'JCMA'</span><span class="token punctuation">]</span> <span class="token operator">=</span> ma_z<span class="token punctuation">(</span>close<span class="token punctuation">[</span><span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> JCMAZQ<span class="token punctuation">)</span>
        MAG <span class="token operator">=</span> MA<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">+</span>MA<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">*</span><span class="token punctuation">(</span>MATDFD<span class="token operator">*</span><span class="token number">0.01</span><span class="token punctuation">)</span>
        MAD <span class="token operator">=</span> MA<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">-</span>MA<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">*</span><span class="token punctuation">(</span>MATDFD<span class="token operator">*</span><span class="token number">0.01</span><span class="token punctuation">)</span>
        UP <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span>close<span class="token punctuation">[</span><span class="token operator">-</span>GDDZQ<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
        DN <span class="token operator">=</span> <span class="token builtin">min</span><span class="token punctuation">(</span>close<span class="token punctuation">[</span><span class="token operator">-</span>GDDZQ<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCGD'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>append<span class="token punctuation">(</span><span class="token builtin">max</span><span class="token punctuation">(</span>MAG<span class="token punctuation">,</span> UP<span class="token punctuation">)</span><span class="token punctuation">)</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCDD'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>append<span class="token punctuation">(</span><span class="token builtin">min</span><span class="token punctuation">(</span>MAD<span class="token punctuation">,</span> DN<span class="token punctuation">)</span><span class="token punctuation">)</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchbj'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">1</span>

        <span class="token comment"># 求开仓后的周期</span>
        <span class="token keyword keyword-if">if</span> chicang <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">:</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'fshkcbz'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">=</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">+</span> <span class="token number">1</span>

    <span class="token comment"># 交易逻辑执行区</span>
    <span class="token comment"># 开仓</span>
    <span class="token keyword keyword-if">if</span> chicang <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchbj'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> high<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCGD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># 开多</span>
        kaicangjia <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCGD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
        Buy<span class="token punctuation">(</span>SS<span class="token punctuation">,</span> kaicangjia<span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchbj'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        chicang <span class="token operator">=</span> <span class="token number">1</span>
        <span class="token keyword keyword-print">print</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> riqishijian<span class="token punctuation">,</span> <span class="token string">'开多：'</span><span class="token punctuation">,</span> SS<span class="token punctuation">,</span> kaicangjia<span class="token punctuation">,</span> <span class="token string">'---------------------------------------'</span><span class="token punctuation">)</span>

    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> chicang <span class="token operator">&gt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchbj'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> low<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCDD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># 开空</span>
            kaicangjia <span class="token operator">=</span> <span class="token builtin">min</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCDD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
            SellShort<span class="token punctuation">(</span>SS<span class="token punctuation">,</span> kaicangjia<span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchbj'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            chicang <span class="token operator">=</span> <span class="token operator">-</span><span class="token number">1</span>
            <span class="token keyword keyword-print">print</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> riqishijian<span class="token punctuation">,</span> <span class="token string">'开空：'</span><span class="token punctuation">,</span> SS<span class="token punctuation">,</span> kaicangjia<span class="token punctuation">,</span> <span class="token string">'-----------------------------------'</span><span class="token punctuation">)</span>
    <span class="token comment"># 加仓</span>
    <span class="token comment"># 加仓条件计算</span>
    <span class="token keyword keyword-if">if</span> chicang <span class="token operator">==</span> <span class="token number">1</span><span class="token punctuation">:</span>
        DQYL <span class="token operator">=</span> <span class="token punctuation">(</span>high<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">-</span> kaicangjia<span class="token punctuation">)</span> <span class="token operator">/</span> kaicangjia <span class="token operator">*</span> <span class="token number">100</span>  <span class="token comment"># 当前盈利</span>
        <span class="token keyword keyword-if">if</span> DQYL <span class="token operator">&gt;</span> YLFD<span class="token punctuation">:</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">1</span>  <span class="token comment"># 达到盈利后计数</span>
        <span class="token keyword keyword-if">if</span> close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'JCMA'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span><span class="token punctuation">:</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">1</span>  <span class="token comment"># 价格回调到ma处</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> chicang <span class="token operator">==</span> <span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">:</span>
            DQYL <span class="token operator">=</span> <span class="token punctuation">(</span>kaicangjia <span class="token operator">-</span> low<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">/</span> kaicangjia <span class="token operator">*</span> <span class="token number">100</span>  <span class="token comment"># 当前盈利</span>
            <span class="token keyword keyword-if">if</span> DQYL <span class="token operator">&gt;</span> YLFD<span class="token punctuation">:</span>
                cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">1</span>  <span class="token comment"># 达到盈利后计数</span>
            <span class="token keyword keyword-if">if</span> close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'JCMA'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span><span class="token punctuation">:</span>
                cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">1</span>  <span class="token comment"># 价格回调到ma处</span>
        <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
            DQYL <span class="token operator">=</span> <span class="token number">0</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        <span class="token comment"># print(riqishijian, DQYL)</span>
    <span class="token keyword keyword-if">if</span> chicang <span class="token operator">==</span> <span class="token number">1</span> <span class="token keyword keyword-and">and</span> high<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">&gt;</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCGD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><span class="token number">0</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span><span class="token operator">&gt;</span><span class="token number">0</span><span class="token punctuation">:</span>
        kaicangjia <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCGD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
        Buy_jjc<span class="token punctuation">(</span>SS<span class="token punctuation">,</span> kaicangjia<span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        <span class="token keyword keyword-print">print</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> riqishijian<span class="token punctuation">,</span> <span class="token string">'加多：'</span><span class="token punctuation">,</span> shujuku<span class="token punctuation">.</span>hget<span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'name'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string">'kaicangshuliang'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> kaicangjia<span class="token punctuation">)</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> chicang <span class="token operator">==</span> <span class="token operator">-</span><span class="token number">1</span> <span class="token keyword keyword-and">and</span> low<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCDD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span><span class="token punctuation">:</span>
            kaicangjia <span class="token operator">=</span> <span class="token builtin">min</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCDD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
            SellShort_jjc<span class="token punctuation">(</span>SS<span class="token punctuation">,</span> kaicangjia<span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'HTDMAJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'DDYLHJS'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            <span class="token keyword keyword-print">print</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> riqishijian<span class="token punctuation">,</span> <span class="token string">'加空：'</span><span class="token punctuation">,</span> shujuku<span class="token punctuation">.</span>hget<span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'name'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string">'kaicangshuliang'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> kaicangjia<span class="token punctuation">)</span>

    <span class="token comment"># 平仓</span>
    <span class="token comment"># 记录开仓后高低点</span>
    <span class="token keyword keyword-if">if</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">:</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchgd'</span><span class="token punctuation">]</span> <span class="token operator">=</span> kaicangjia
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchdd'</span><span class="token punctuation">]</span> <span class="token operator">=</span> kaicangjia
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span><span class="token punctuation">:</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchgd'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchgd'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> high<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchdd'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token builtin">min</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchdd'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> low<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>

    <span class="token comment"># print(riqishijian, cl_sj.sjb['kchgd'], cl_sj.sjb['kchdd'])</span>
    <span class="token keyword keyword-if">if</span> chicang <span class="token operator">==</span> <span class="token number">1</span><span class="token punctuation">:</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'ZGYL'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchgd'</span><span class="token punctuation">]</span><span class="token operator">-</span>kaicangjia<span class="token punctuation">)</span><span class="token operator">/</span>kaicangjia<span class="token operator">*</span><span class="token number">100</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span> <span class="token operator">=</span> kaicangjia<span class="token operator">*</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token operator">-</span>PCFD<span class="token operator">*</span><span class="token number">0.01</span><span class="token punctuation">)</span>  <span class="token comment"># 平仓价格计算</span>
        <span class="token keyword keyword-if">if</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'ZGYL'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> PCFD<span class="token punctuation">:</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span> <span class="token operator">=</span> kaicangjia  <span class="token comment"># 最高盈利到达指定幅度，平仓价格调到指定价</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> chicang <span class="token operator">==</span> <span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">:</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'ZGYL'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>kaicangjia<span class="token operator">-</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchdd'</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">/</span> kaicangjia <span class="token operator">*</span> <span class="token number">100</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span> <span class="token operator">=</span> kaicangjia <span class="token operator">*</span> <span class="token punctuation">(</span><span class="token number">1</span> <span class="token operator">+</span> PCFD <span class="token operator">*</span> <span class="token number">0.01</span><span class="token punctuation">)</span>  <span class="token comment"># 平仓价格计算</span>
            <span class="token keyword keyword-if">if</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'ZGYL'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> PCFD<span class="token punctuation">:</span>
                cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span> <span class="token operator">=</span> kaicangjia  <span class="token comment"># 最高盈利到达指定幅度，平仓价格调到指定价</span>
        <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'ZGYL'</span><span class="token punctuation">]</span> <span class="token operator">=</span> close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span> <span class="token operator">=</span> close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span>

    <span class="token keyword keyword-if">if</span> chicang <span class="token operator">==</span> <span class="token number">1</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> low<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
        kaicangjia <span class="token operator">=</span> <span class="token builtin">min</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
        <span class="token keyword keyword-print">print</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> riqishijian<span class="token punctuation">,</span> <span class="token string">'平多：'</span><span class="token punctuation">,</span> shujuku<span class="token punctuation">.</span>hget<span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'name'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string">'kaicangshuliang'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> kaicangjia<span class="token punctuation">)</span>
        Sell<span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> kaicangjia<span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
        cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> chicang <span class="token operator">==</span> <span class="token operator">-</span><span class="token number">1</span> <span class="token keyword keyword-and">and</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> high<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
            kaicangjia <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'PCJG'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
            <span class="token keyword keyword-print">print</span><span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> riqishijian<span class="token punctuation">,</span> <span class="token string">'平空：'</span><span class="token punctuation">,</span> shujuku<span class="token punctuation">.</span>hget<span class="token punctuation">(</span>cl_sj<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'name'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string">'kaicangshuliang'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> kaicangjia<span class="token punctuation">)</span>
            BuyToCover<span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> kaicangjia<span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
            cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>

    <span class="token keyword keyword-return">return</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCGD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'KCDD'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl_sj<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'kchzq'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string">'w'</span>

</code></pre><hr>
<h4 id="19-唐琪安通道加跨周期均线过滤策略">1.9、唐琪安通道加跨周期均线过滤策略 </h4>
<p>说明：如需开发跨周期或跨品种策略，可以参考此策略进行开发</p>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token comment">#!/usr/bin/env python</span>
<span class="token comment"># -*- coding: utf-8 -*-</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z
<span class="token keyword keyword-import">import</span> tool<span class="token punctuation">.</span>MyTT <span class="token keyword keyword-as">as</span> myttzb


RXZQ <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>  <span class="token comment"># 按合约储存日线周期k线和指标数据</span>
XIAOSHIZQ <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>  <span class="token comment"># 按合约储存小时周期k线和指标数据</span>
DAZHOUQI_30f <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>
DAZHOUQI_5f <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>

<span class="token keyword keyword-def">def</span> 日线周期指标计算_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    日线周期指标计算，用于给下面策略周期调用,回测模式用0,9,1,1，实盘模式用0,0,0,1
    """</span>
    <span class="token comment"># 数据提取区</span>
    <span class="token comment"># Open = cl.klines[0].open.values  # 开盘价np列表</span>
    <span class="token comment"># High = cl.klines[0].high.values   # 最高价np列表</span>
    <span class="token comment"># Low = cl.klines[0].low.values  # 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量， 也是控制策略的开关</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># ma1周期</span>
    n2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>  <span class="token comment"># ma2周期</span>
    交易合约 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
    <span class="token comment"># 指标计算区</span>
    ma1 <span class="token operator">=</span> myttzb<span class="token punctuation">.</span>MA<span class="token punctuation">(</span>Close<span class="token punctuation">,</span> n1<span class="token punctuation">)</span>
    ma2 <span class="token operator">=</span> myttzb<span class="token punctuation">.</span>MA<span class="token punctuation">(</span>Close<span class="token punctuation">,</span> n2<span class="token punctuation">)</span>

    <span class="token comment"># 数据合并与储存</span>
    df <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
    df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span> <span class="token operator">=</span> ma1
    df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span> <span class="token operator">=</span> ma2
    <span class="token comment"># 向下移动一位，防止偷价</span>
    df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>shift<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>fillna<span class="token punctuation">(</span>method<span class="token operator">=</span><span class="token string">'bfill'</span><span class="token punctuation">)</span>
    df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>shift<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>fillna<span class="token punctuation">(</span>method<span class="token operator">=</span><span class="token string">'bfill'</span><span class="token punctuation">)</span>
    df <span class="token operator">=</span> df<span class="token punctuation">.</span>set_index<span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'datetime'</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
    RXZQ<span class="token punctuation">[</span>交易合约<span class="token punctuation">]</span> <span class="token operator">=</span> df
    <span class="token comment"># print(df)</span>
    <span class="token keyword keyword-return">return</span> <span class="token string">'w'</span><span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">,</span> <span class="token string">'w'</span>  <span class="token comment"># 此处输出的指标会在k线图中和监控界面中显示</span>


<span class="token keyword keyword-def">def</span> 小时周期指标计算_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    小时周期指标计算，用于给下面策略周期调用,回测模式用0,9,1,1，实盘模式用0,0,0,1
    """</span>
    <span class="token comment"># 数据提取区</span>
    <span class="token comment"># Open = cl.klines[0].open.values  # 开盘价np列表</span>
    <span class="token comment"># High = cl.klines[0].high.values   # 最高价np列表</span>
    <span class="token comment"># Low = cl.klines[0].low.values  # 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量， 也是控制策略的开关</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># ma1周期</span>
    n2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>  <span class="token comment"># ma2周期</span>
    交易合约 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
    <span class="token comment"># 指标计算区</span>

    ma1 <span class="token operator">=</span> myttzb<span class="token punctuation">.</span>MA<span class="token punctuation">(</span>Close<span class="token punctuation">,</span> n1<span class="token punctuation">)</span>
    ma2 <span class="token operator">=</span> myttzb<span class="token punctuation">.</span>MA<span class="token punctuation">(</span>Close<span class="token punctuation">,</span> n2<span class="token punctuation">)</span>

    <span class="token comment"># 数据合并与储存</span>
    df <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
    df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span> <span class="token operator">=</span> ma1
    df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span> <span class="token operator">=</span> ma2
    <span class="token comment"># 向下移动一位，防止偷价</span>
    df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>shift<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>fillna<span class="token punctuation">(</span>method<span class="token operator">=</span><span class="token string">'bfill'</span><span class="token punctuation">)</span>
    df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>shift<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>fillna<span class="token punctuation">(</span>method<span class="token operator">=</span><span class="token string">'bfill'</span><span class="token punctuation">)</span>

    df <span class="token operator">=</span> df<span class="token punctuation">.</span>set_index<span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'datetime'</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
    XIAOSHIZQ<span class="token punctuation">[</span>交易合约<span class="token punctuation">]</span> <span class="token operator">=</span> df

    <span class="token keyword keyword-return">return</span> <span class="token string">'w'</span><span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">,</span> <span class="token string">'w'</span>  <span class="token comment"># 此处输出的指标会在k线图中和监控界面中显示</span>


<span class="token keyword keyword-def">def</span> 三十分周期指标计算_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    30周期指标计算，用于给下面策略周期调用,回测模式用0,9,1,1，实盘模式用0,0,0,1
    """</span>
    <span class="token comment"># 数据提取区</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>
    Datetime <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>values
    riqi <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_riqi<span class="token punctuation">(</span><span class="token punctuation">)</span>
    shijian <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_shijian<span class="token punctuation">(</span><span class="token punctuation">)</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量， 也是控制策略的开关</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># ma1周期</span>
    n2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>  <span class="token comment"># ma2周期</span>
    交易合约 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
    <span class="token comment"># 指标计算区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>shangcishijian <span class="token operator">!=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'datetime'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># 更新k线时执行，一般用与计算指标</span>
        <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>

    ma1 <span class="token operator">=</span> myttzb<span class="token punctuation">.</span>MA<span class="token punctuation">(</span>Close<span class="token punctuation">,</span> n1<span class="token punctuation">)</span>
    ma2 <span class="token operator">=</span> myttzb<span class="token punctuation">.</span>MA<span class="token punctuation">(</span>Close<span class="token punctuation">,</span> n2<span class="token punctuation">)</span>

    <span class="token comment"># 数据合并与储存</span>
    df <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
    df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span> <span class="token operator">=</span> ma1
    df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span> <span class="token operator">=</span> ma2
    <span class="token comment"># 向下移动一位，防止偷价</span>
    df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>shift<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>fillna<span class="token punctuation">(</span>method<span class="token operator">=</span><span class="token string">'bfill'</span><span class="token punctuation">)</span>
    df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>shift<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>fillna<span class="token punctuation">(</span>method<span class="token operator">=</span><span class="token string">'bfill'</span><span class="token punctuation">)</span>

    df <span class="token operator">=</span> df<span class="token punctuation">.</span>set_index<span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'datetime'</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
    DAZHOUQI_30f<span class="token punctuation">[</span>交易合约<span class="token punctuation">]</span> <span class="token operator">=</span> df

    <span class="token keyword keyword-return">return</span> riqi<span class="token punctuation">,</span> shijian<span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">,</span> <span class="token string">'w'</span>  <span class="token comment"># 此处输出的指标会在k线图中和监控界面中显示</span>


<span class="token keyword keyword-def">def</span> 五分周期指标计算_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    5分周期指标计算，用于给下面策略周期调用,回测模式用0,9,1,1，实盘模式用0,0,0,1
    """</span>
    <span class="token comment"># 数据提取区</span>
    <span class="token comment"># Open = cl.klines[0].open.values  # 开盘价np列表</span>
    <span class="token comment"># High = cl.klines[0].high.values   # 最高价np列表</span>
    <span class="token comment"># Low = cl.klines[0].low.values  # 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>
    Datetime <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>values
    riqi <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_riqi<span class="token punctuation">(</span><span class="token punctuation">)</span>
    shijian <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_shijian<span class="token punctuation">(</span><span class="token punctuation">)</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量， 也是控制策略的开关</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># ma1周期</span>
    n2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>  <span class="token comment"># ma2周期</span>
    交易合约 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
    <span class="token comment"># 指标计算区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>shangcishijian <span class="token operator">!=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'datetime'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>iat<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># 更新k线时执行，一般用与计算指标</span>
        <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>

    ma1 <span class="token operator">=</span> myttzb<span class="token punctuation">.</span>MA<span class="token punctuation">(</span>Close<span class="token punctuation">,</span> n1<span class="token punctuation">)</span>
    ma2 <span class="token operator">=</span> myttzb<span class="token punctuation">.</span>MA<span class="token punctuation">(</span>Close<span class="token punctuation">,</span> n2<span class="token punctuation">)</span>

    <span class="token comment"># 数据合并与储存</span>
    df <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
    df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span> <span class="token operator">=</span> ma1
    df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span> <span class="token operator">=</span> ma2
    <span class="token comment"># 向下移动一位，防止偷价</span>
    df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>shift<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>fillna<span class="token punctuation">(</span>method<span class="token operator">=</span><span class="token string">'bfill'</span><span class="token punctuation">)</span>
    df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'ma2'</span><span class="token punctuation">]</span><span class="token punctuation">.</span>shift<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>fillna<span class="token punctuation">(</span>method<span class="token operator">=</span><span class="token string">'bfill'</span><span class="token punctuation">)</span>

    df <span class="token operator">=</span> df<span class="token punctuation">.</span>set_index<span class="token punctuation">(</span>df<span class="token punctuation">[</span><span class="token string">'datetime'</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
    DAZHOUQI_5f<span class="token punctuation">[</span>交易合约<span class="token punctuation">]</span> <span class="token operator">=</span> df
    <span class="token comment"># print(DAZHOUQI_5f)</span>
    <span class="token comment"># print(riqi, shijian)</span>
    <span class="token keyword keyword-return">return</span> riqi<span class="token punctuation">,</span> shijian<span class="token punctuation">,</span> <span class="token string">'w'</span><span class="token punctuation">,</span> <span class="token string">'w'</span>  <span class="token comment"># 此处输出的指标会在k线图中和监控界面中显示</span>


<span class="token keyword keyword-def">def</span> 唐琪安通道跨周期过滤_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    此策略为唐琪安通道突破演示策略，用日线周期和小时线周期过滤
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    High <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>high<span class="token punctuation">.</span>values   <span class="token comment"># 最高价np列表</span>
    Low <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>low<span class="token punctuation">.</span>values  <span class="token comment"># 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>
    Datetime <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>values  <span class="token comment"># 日期时间np列表，为时间戳</span>
    Date <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>date<span class="token punctuation">.</span>values  <span class="token comment"># 日期</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">+</span><span class="token number">1</span>  <span class="token comment"># 高点周期</span>
    n2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token operator">+</span><span class="token number">1</span>  <span class="token comment"># 低点周期</span>
    交易合约 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>

    <span class="token comment"># 全局变量的初始化，为空的时候执行</span>
    <span class="token keyword keyword-if">if</span> <span class="token string">'日周期均线'</span> <span class="token keyword keyword-not">not</span> <span class="token keyword keyword-in">in</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">:</span>  <span class="token comment"># 初始化时执行一次，用于初始化缓存字典</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'日周期均线'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'时周期均线'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>

    <span class="token comment"># 指标计算区</span>
    gd <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span>High<span class="token punctuation">[</span><span class="token operator">-</span>n1<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
    dd <span class="token operator">=</span> <span class="token builtin">min</span><span class="token punctuation">(</span>Low<span class="token punctuation">[</span><span class="token operator">-</span>n2<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
    <span class="token keyword keyword-try">try</span><span class="token punctuation">:</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'日周期均线'</span><span class="token punctuation">]</span> <span class="token operator">=</span> RXZQ<span class="token punctuation">[</span>交易合约<span class="token punctuation">]</span><span class="token punctuation">.</span>loc<span class="token punctuation">[</span>Date<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span>
    <span class="token keyword keyword-except">except</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-pass">pass</span>

    <span class="token keyword keyword-try">try</span><span class="token punctuation">:</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'时周期均线'</span><span class="token punctuation">]</span> <span class="token operator">=</span> XIAOSHIZQ<span class="token punctuation">[</span>交易合约<span class="token punctuation">]</span><span class="token punctuation">.</span>loc<span class="token punctuation">[</span>Datetime<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span>
    <span class="token keyword keyword-except">except</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-pass">pass</span>

    <span class="token comment"># 交易逻辑执行区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> High<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> gd <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'日周期均线'</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'时周期均线'</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
        Buy<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> <span class="token builtin">max</span><span class="token punctuation">(</span>Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> gd<span class="token punctuation">)</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Low<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> dd <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'日周期均线'</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'时周期均线'</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
            SellShort<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> <span class="token builtin">min</span><span class="token punctuation">(</span>Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> dd<span class="token punctuation">)</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>

    <span class="token keyword keyword-return">return</span> gd<span class="token punctuation">,</span> dd<span class="token punctuation">,</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'日周期均线'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'时周期均线'</span><span class="token punctuation">]</span>


<span class="token keyword keyword-def">def</span> 唐琪安通道跨周期过滤_v2<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    此策略为唐琪安通道突破演示策略，用30F周期和5F周期过滤
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    High <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>high<span class="token punctuation">.</span>values   <span class="token comment"># 最高价np列表</span>
    Low <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>low<span class="token punctuation">.</span>values  <span class="token comment"># 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表，Close[-1]这样为最新价</span>
    Datetime <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>values  <span class="token comment"># 日期时间np列表，为时间戳</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token operator">+</span><span class="token number">1</span>  <span class="token comment"># 高点周期</span>
    n2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token operator">+</span><span class="token number">1</span>  <span class="token comment"># 低点周期</span>
    交易合约 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>

    <span class="token comment"># 全局变量的初始化，为空的时候执行</span>
    <span class="token keyword keyword-if">if</span> <span class="token string">'30分均线'</span> <span class="token keyword keyword-not">not</span> <span class="token keyword keyword-in">in</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">:</span>  <span class="token comment"># 初始化时执行一次，用于初始化缓存字典</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'30分均线'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'5分均线'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>

    <span class="token comment"># 指标计算区</span>
    gd <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span>High<span class="token punctuation">[</span><span class="token operator">-</span>n1<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
    dd <span class="token operator">=</span> <span class="token builtin">min</span><span class="token punctuation">(</span>Low<span class="token punctuation">[</span><span class="token operator">-</span>n2<span class="token punctuation">:</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
    <span class="token keyword keyword-try">try</span><span class="token punctuation">:</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'30分均线'</span><span class="token punctuation">]</span> <span class="token operator">=</span> DAZHOUQI_30f<span class="token punctuation">[</span>交易合约<span class="token punctuation">]</span><span class="token punctuation">.</span>loc<span class="token punctuation">[</span>Datetime<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span>

    <span class="token keyword keyword-except">except</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-pass">pass</span>

    <span class="token keyword keyword-try">try</span><span class="token punctuation">:</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'5分均线'</span><span class="token punctuation">]</span> <span class="token operator">=</span> DAZHOUQI_5f<span class="token punctuation">[</span>交易合约<span class="token punctuation">]</span><span class="token punctuation">.</span>loc<span class="token punctuation">[</span>Datetime<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'ma1'</span><span class="token punctuation">]</span>
    <span class="token keyword keyword-except">except</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-pass">pass</span>

    <span class="token comment"># 交易逻辑执行区</span>
    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> High<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> gd <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'30分均线'</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'5分均线'</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
        Buy<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> <span class="token builtin">max</span><span class="token punctuation">(</span>Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> gd<span class="token punctuation">)</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
    <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Low<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">&lt;=</span> dd <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'30分均线'</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'5分均线'</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
            SellShort<span class="token punctuation">(</span>ss<span class="token punctuation">,</span> <span class="token builtin">min</span><span class="token punctuation">(</span>Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> dd<span class="token punctuation">)</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>

    <span class="token keyword keyword-return">return</span> gd<span class="token punctuation">,</span> dd<span class="token punctuation">,</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'30分均线'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'5分均线'</span><span class="token punctuation">]</span>

</code></pre><hr>
<h4 id="110-策略改进实例v1">1.10、策略改进实例v1 </h4>
<pre data-role="codeBlock" data-info="python" class="language-python python"><code><span class="token comment">#!/usr/bin/env python</span>
<span class="token comment"># -*- coding: utf-8 -*-</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>gongju <span class="token keyword keyword-import">import</span> <span class="token operator">*</span>
<span class="token keyword keyword-from">from</span> tool<span class="token punctuation">.</span>zhibiao <span class="token keyword keyword-import">import</span> ma_z<span class="token punctuation">,</span> ema_z<span class="token punctuation">,</span> atr_z
<span class="token keyword keyword-import">import</span> tool<span class="token punctuation">.</span>MyTT <span class="token keyword keyword-as">as</span> myttzb


<span class="token keyword keyword-def">def</span> 策略改进实例_v1<span class="token punctuation">(</span>cl<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""
    改进的第一个策略
    """</span>
    <span class="token comment"># 数据提取区</span>
    Open <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">open</span><span class="token punctuation">.</span>values  <span class="token comment"># 开盘价np列表</span>
    <span class="token comment"># Open_z = cl.klines[0].open.values / cl.klines[0].fqxs.values</span>
    High <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>high<span class="token punctuation">.</span>values  <span class="token comment"># 最高价np列表</span>
    Low <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>low<span class="token punctuation">.</span>values  <span class="token comment"># 最低价np列表</span>
    Close <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>close<span class="token punctuation">.</span>values  <span class="token comment"># 收盘价np列表</span>
    riqi <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_riqi<span class="token punctuation">(</span><span class="token punctuation">)</span>  <span class="token comment"># 当前k线日期</span>
    shijian <span class="token operator">=</span> cl<span class="token punctuation">.</span>get_shijian<span class="token punctuation">(</span><span class="token punctuation">)</span>  <span class="token comment"># 当前k线时间</span>

    持仓数量 <span class="token operator">=</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangshuliang'</span><span class="token punctuation">]</span>
    chicang <span class="token operator">=</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">*</span> 持仓数量  <span class="token comment"># 持仓状态和持仓数量</span>
    kaicangjia <span class="token operator">=</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangjia'</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓价格</span>

    <span class="token comment"># 参数设置区</span>
    ss <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>  <span class="token comment"># 开仓数量</span>
    n1 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>  <span class="token comment"># ma1周期</span>
    n2 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>  <span class="token comment"># ma2周期</span>
    资金 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span>

    账户 <span class="token operator">=</span> cl<span class="token punctuation">.</span>zhanghu<span class="token punctuation">[</span>cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">]</span>  <span class="token comment"># 设置的交易账户对象</span>
    交易合约 <span class="token operator">=</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
    <span class="token comment"># 全局变量的初始化，为空的时候执行</span>
    <span class="token keyword keyword-if">if</span> <span class="token string">'最小变动'</span> <span class="token keyword keyword-not">not</span> <span class="token keyword keyword-in">in</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">:</span>  <span class="token comment"># 每次策略初始化或更新数据时执行一次，用于在策略运行期间想持久化的数据</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'最小变动'</span><span class="token punctuation">]</span> <span class="token operator">=</span> 账户<span class="token punctuation">.</span>get_zuixiaobiandong<span class="token punctuation">(</span>交易合约<span class="token punctuation">)</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'加仓次数'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后最大盈亏'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后利润回调'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>

    <span class="token comment"># 指标计算区</span>
    ma1 <span class="token operator">=</span> ema_z<span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">300</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">,</span> n1<span class="token punctuation">)</span>
    ma2 <span class="token operator">=</span> ema_z<span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">300</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">,</span> n2<span class="token punctuation">)</span>

    <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>bargengxin <span class="token keyword keyword-and">and</span> cl<span class="token punctuation">.</span>jiaoyiqidong<span class="token punctuation">:</span>  <span class="token comment"># 更新k线时执行，一般用与收盘需要计算的指标</span>
        乘值 <span class="token operator">=</span> 账户<span class="token punctuation">.</span>get_chengzhi<span class="token punctuation">(</span>交易合约<span class="token punctuation">)</span>
        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>jiaoyishezhi<span class="token punctuation">[</span><span class="token number">8</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">==</span> <span class="token number">5</span><span class="token punctuation">:</span>
            fqxs <span class="token operator">=</span> cl<span class="token punctuation">.</span>klines<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span>fqxs<span class="token punctuation">.</span>iat<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span>
            开仓手数 <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token builtin">round</span><span class="token punctuation">(</span>资金 <span class="token operator">/</span> <span class="token punctuation">(</span>Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">/</span> fqxs <span class="token operator">*</span> 乘值 <span class="token operator">*</span> <span class="token number">0.1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>  <span class="token comment"># 保证金比例设置的百分之10</span>
        <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
            开仓手数 <span class="token operator">=</span> <span class="token builtin">max</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token builtin">round</span><span class="token punctuation">(</span>资金 <span class="token operator">/</span> <span class="token punctuation">(</span>Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">*</span> 乘值 <span class="token operator">*</span> <span class="token number">0.1</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>  <span class="token comment"># 保证金比例设置的百分之10</span>
        <span class="token comment"># 交易逻辑执行区</span>
        <span class="token keyword keyword-if">if</span> chicang <span class="token operator">&lt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># and Close[-3] &lt; ma2[-3]</span>
            Buy<span class="token punctuation">(</span>开仓手数<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
            cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'加仓次数'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
        <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
            <span class="token keyword keyword-if">if</span> chicang <span class="token operator">&gt;=</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">:</span>  <span class="token comment"># and Close[-3] &gt; ma2[-3]</span>
                SellShort<span class="token punctuation">(</span>开仓手数<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
                cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'加仓次数'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>

        首次开仓位置 <span class="token operator">=</span> cl<span class="token punctuation">.</span>shoucikaicangjuli <span class="token operator">+</span> <span class="token number">1</span>
        开仓后最高价 <span class="token operator">=</span> High<span class="token punctuation">[</span><span class="token operator">-</span>首次开仓位置<span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">max</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
        开仓后最低价 <span class="token operator">=</span> Low<span class="token punctuation">[</span><span class="token operator">-</span>首次开仓位置<span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token builtin">min</span><span class="token punctuation">(</span><span class="token punctuation">)</span>

        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span><span class="token punctuation">:</span>
            cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后最大盈亏'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>开仓后最高价 <span class="token operator">-</span> kaicangjia<span class="token punctuation">)</span> <span class="token operator">/</span> kaicangjia <span class="token operator">*</span> <span class="token number">100</span>
            cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后利润回调'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>开仓后最高价 <span class="token operator">-</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">/</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">*</span> <span class="token number">100</span>
        <span class="token keyword keyword-elif">elif</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> <span class="token number">0</span><span class="token punctuation">:</span>
            cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后最大盈亏'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>kaicangjia <span class="token operator">-</span> 开仓后最低价<span class="token punctuation">)</span> <span class="token operator">/</span> kaicangjia <span class="token operator">*</span> <span class="token number">100</span>
            cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后利润回调'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">(</span>Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">-</span> 开仓后最低价<span class="token punctuation">)</span> <span class="token operator">/</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">*</span> <span class="token number">100</span>

        <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
            cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后最大盈亏'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>
            cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后利润回调'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">0</span>

        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>shangcikaicangjuli <span class="token operator">&gt;</span> <span class="token number">2</span> <span class="token keyword keyword-and">and</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'加仓次数'</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> <span class="token number">1</span><span class="token punctuation">:</span>
            <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后最大盈亏'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">2</span> <span class="token keyword keyword-and">and</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后利润回调'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">1</span><span class="token punctuation">:</span>
                Buy_jjc<span class="token punctuation">(</span>开仓手数<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
                cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'加仓次数'</span><span class="token punctuation">]</span> <span class="token operator">+=</span> <span class="token number">1</span>
            <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
                <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后最大盈亏'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">2</span> <span class="token keyword keyword-and">and</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后利润回调'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">1</span><span class="token punctuation">:</span>
                    SellShort_jjc<span class="token punctuation">(</span>开仓手数<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>
                    cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'加仓次数'</span><span class="token punctuation">]</span> <span class="token operator">+=</span> <span class="token number">1</span>

        <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>shoucikaicangjuli <span class="token operator">&gt;</span> <span class="token number">6</span><span class="token punctuation">:</span>
            <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
                Sell<span class="token punctuation">(</span>持仓数量<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>

            <span class="token keyword keyword-else">else</span><span class="token punctuation">:</span>
                <span class="token keyword keyword-if">if</span> cl<span class="token punctuation">.</span>openingdata<span class="token punctuation">[</span><span class="token string">'kaicangzhuangtai'</span><span class="token punctuation">]</span> <span class="token operator">&lt;</span> <span class="token number">0</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token keyword keyword-and">and</span> Close<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">]</span> <span class="token operator">&gt;</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">4</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
                    BuyToCover<span class="token punctuation">(</span>持仓数量<span class="token punctuation">,</span> Open<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">)</span>

    <span class="token keyword keyword-return">return</span> ma1<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span> ma2<span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后最大盈亏'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> cl<span class="token punctuation">.</span>sjb<span class="token punctuation">[</span><span class="token string">'开仓后利润回调'</span><span class="token punctuation">]</span>  <span class="token comment"># 此处输出的指标会在k线图中和监控界面中显示</span>

</code></pre><hr>
<h3 id="2-上面部分策略回测">2、上面部分策略回测 </h3>
<p>策略参数完全凭经验设置。</p>
<p>回测参数如下图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%9B%9E%E6%B5%8B%E5%8F%82%E6%95%B0.png" alt="在这里插入图片描述"></p>
<p>回测模式和工作区如下图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%9B%9E%E6%B5%8B%E5%B7%A5%E4%BD%9C%E5%8C%BA.png" alt="在这里插入图片描述"></p>
<hr>
<h4 id="21-三均线策略">2.1、三均线策略 </h4>
<p>报告总汇：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E4%B8%89%E5%9D%87%E7%BA%BF%E5%9B%9E%E6%B5%8B%E6%8A%A5%E5%91%8A%E6%80%BB%E6%B1%87.png" alt="在这里插入图片描述"><br>
累计收益：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E4%B8%89%E5%9D%87%E7%BA%BF%E7%B4%AF%E8%AE%A1%E5%88%A9%E6%B6%A6.png" alt="在这里插入图片描述"><br>
信号图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E4%B8%89%E5%9D%87%E7%BA%BF%E4%BF%A1%E5%8F%B7%E5%9B%BE.png" alt="在这里插入图片描述"></p>
<hr>
<h4 id="22-单均线策略">2.2、单均线策略 </h4>
<p>报告总汇：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%8D%95%E5%9D%87%E7%BA%BF%E5%9B%9E%E6%B5%8B%E6%B1%87%E6%80%BB.png" alt="在这里插入图片描述"><br>
累计收益：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%8D%95%E5%9D%87%E7%BA%BF%E5%9B%9E%E6%B5%8B%E7%B4%AF%E8%AE%A1%E6%94%B6%E7%9B%8A.png" alt="在这里插入图片描述"><br>
信号图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%8D%95%E5%9D%87%E7%BA%BF%E5%9B%9E%E6%B5%8B%E4%BF%A1%E5%8F%B7%E5%9B%BE.png" alt="在这里插入图片描述"></p>
<hr>
<h4 id="23-唐琪安通道策略">2.3、唐琪安通道策略 </h4>
<p>报告总汇：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E5%9B%9E%E6%B5%8B%E6%B1%87%E6%80%BB.png" alt="在这里插入图片描述"><br>
累计收益：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E7%B4%AF%E8%AE%A1%E5%88%A9%E6%B6%A6.png" alt="在这里插入图片描述"><br>
信号图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E4%BF%A1%E5%8F%B7%E5%9B%BE.png" alt="在这里插入图片描述"></p>
<hr>
<h4 id="24-多空线加atr通道出场策略">2.4、多空线加atr通道出场策略 </h4>
<p>报告总汇：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%A4%9A%E7%A9%BA%E7%BA%BF%E5%8A%A0atr%E9%80%9A%E9%81%93%E5%87%BA%E5%9C%BA%E6%B1%87%E6%80%BB.png" alt="在这里插入图片描述"><br>
累计收益：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%A4%9A%E7%A9%BA%E7%BA%BF%E5%8A%A0atr%E9%80%9A%E9%81%93%E5%87%BA%E5%9C%BA%E7%B4%AF%E8%AE%A1%E5%87%80%E5%88%A9%E6%B6%A6.png" alt="在这里插入图片描述"><br>
信号图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%A4%9A%E7%A9%BA%E7%BA%BF%E5%8A%A0atr%E9%80%9A%E9%81%93%E5%87%BA%E5%9C%BA%E4%BF%A1%E5%8F%B7%E5%9B%BE.png" alt="在这里插入图片描述"></p>
<hr>
<h4 id="25-红三兵策略指数砖形图模式回测">2.5、红三兵策略（指数砖形图模式回测） </h4>
<p>设置：砖形图幅度设置为1%，回测模式设置为8.</p>
<p>报告总汇：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E7%BA%A2%E4%B8%89%E5%85%B5%E7%A0%96%E5%BD%A2%E5%9B%BE%E5%9B%9E%E6%B5%8B%E6%B1%87%E6%80%BB.png" alt="在这里插入图片描述"><br>
累计收益：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E7%BA%A2%E4%B8%89%E5%85%B5%E7%A0%96%E5%BD%A2%E5%9B%BE%E5%9B%9E%E6%B5%8B%E7%B4%AF%E8%AE%A1%E5%88%A9%E6%B6%A6.png" alt="在这里插入图片描述"><br>
信号图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E7%BA%A2%E4%B8%89%E5%85%B5%E7%A0%96%E5%BD%A2%E5%9B%BE%E5%9B%9E%E6%B5%8B%E4%BF%A1%E5%8F%B7%E5%9B%BE.png" alt="在这里插入图片描述"></p>
<hr>
<h4 id="26-macd策略">2.6、macd策略 </h4>
<p>报告总汇：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/macd%E7%AD%96%E7%95%A5%E6%B1%87%E6%80%BB.png" alt="在这里插入图片描述"><br>
累计收益：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/macd%E7%AD%96%E7%95%A5%E7%B4%AF%E8%AE%A1%E5%88%A9%E6%B6%A6.png" alt="在这里插入图片描述"><br>
信号图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/macd%E7%AD%96%E7%95%A5%E4%BF%A1%E5%8F%B7%E5%9B%BE.png" alt="在这里插入图片描述"></p>
<hr>
<h4 id="27-双通道突破回调加仓策略">2.7、双通道突破回调加仓策略 </h4>
<p>报告总汇：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%8F%8C%E9%80%9A%E9%81%93%E5%8A%A0%E4%BB%93%E7%AD%96%E7%95%A5%E5%9B%9E%E6%B5%8B%E6%B1%87%E6%80%BB.png" alt="在这里插入图片描述"><br>
累计收益：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%8F%8C%E9%80%9A%E9%81%93%E5%8A%A0%E4%BB%93%E7%AD%96%E7%95%A5%E7%B4%AF%E8%AE%A1%E5%88%A9%E6%B6%A6.png" alt="在这里插入图片描述"><br>
信号图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%8F%8C%E9%80%9A%E9%81%93%E5%8A%A0%E4%BB%93%E7%AD%96%E7%95%A5%E5%9B%9E%E6%B5%8B%E4%BF%A1%E5%8F%B7%E5%9B%BE.png" alt="在这里插入图片描述"></p>
<hr>
<h4 id="28-唐琪安通道加跨周期均线过滤策略">2.8、唐琪安通道加跨周期均线过滤策略 </h4>
<p>工作区：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E5%8A%A0%E8%B7%A8%E5%91%A8%E6%9C%9F%E5%9D%87%E7%BA%BF%E8%BF%87%E6%BB%A4%E5%B7%A5%E4%BD%9C%E5%8C%BA.png" alt="在这里插入图片描述"></p>
<p>报告总汇：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E5%8A%A0%E8%B7%A8%E5%91%A8%E6%9C%9F%E8%BF%87%E6%BB%A4%E5%9B%9E%E6%B5%8B%E6%B1%87%E6%80%BB.png" alt="在这里插入图片描述"><br>
累计收益：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E5%8A%A0%E8%B7%A8%E5%91%A8%E6%9C%9F%E8%BF%87%E6%BB%A4%E5%9B%9E%E6%B5%8B%E7%B4%AF%E8%AE%A1%E7%9B%88%E4%BA%8F.png" alt="在这里插入图片描述"><br>
信号图：<br>
<img src="../img/%E7%AD%96%E7%95%A5%E5%AE%9E%E4%BE%8B/%E5%94%90%E7%90%AA%E5%AE%89%E9%80%9A%E9%81%93%E5%8A%A0%E8%B7%A8%E5%91%A8%E6%9C%9F%E8%BF%87%E6%BB%A4%E5%9B%9E%E6%B5%8B%E4%BF%A1%E5%8F%B7%E5%9B%BE.png" alt="在这里插入图片描述"></p>

      </div>
      
      
    
    
    
    
    
    
  
    </body></html>